1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular to a method an apparatus for rendering a webpage. Still more specifically, the present invention provides a computer implemented method, an apparatus, and a computer usable program product for resolving client-side logic in a webpage when the webpage is rendered.
2. Description of the Related Art
Client-side logic is a set of computer usable program code or computer instructions that is executed in a client computer. For example, in a webpage, client-side logic executes the processes for presenting a webpage to the client who requested the page. Client-side logic can also be used to execute processes within the webpage, such as the effects of a client pressing a button or hitting a hyperlink in the webpage.
Typically, client-side logic is resolved when a webpage is built or created on the server that supports the webpage. When a request for a webpage is made by a client, the server supporting the webpage processes the request. When processing the request, the server resolves or assigns values for each attribute that the client-side logic defines. Thus, if a client-side logic defines a button on the webpage, the values associated with the button are determined by the server prior to sending the response to a client.
A webpage development framework is an application in a server that processes a client's request for a webpage. A webpage development framework allows a web developer to create a new webpage as well as to manage the new webpage. An example webpage development framework is JavaServer™ Faces.
In a webpage development framework, a request is subject to the lifecycle of the framework. The lifecycle is typically the different steps or stages used to process a request for a webpage. In a lifecycle, a period of time typically exists between when a page is built and when the webpage is actually rendered or presented to a user. Typically, values for an attribute are assigned no later than when the webpage is built in the webpage development framework. Therefore, any changes in a value received in the time period between when a webpage is built and when the webpage is rendered is not included in the response to the client's request.